package com.yxhl.zoume.di.component.car;

import com.yxhl.zoume.core.officialcar.activity.OfficialCarScheduleActivity;
import com.yxhl.zoume.core.car.fragment.common.CancelCarOrderFeedbackFragment;
import com.yxhl.zoume.core.car.fragment.common.CarSelectPassengerFragment;
import com.yxhl.zoume.core.car.fragment.common.SelectCityFragment;
import com.yxhl.zoume.core.officialcar.fragment.CallCarForOthersFragment;
import com.yxhl.zoume.core.officialcar.fragment.OfficialCarLocationMapFragment;
import com.yxhl.zoume.core.officialcar.fragment.OfficialCarPOISearchFragment;
import com.yxhl.zoume.core.officialcar.fragment.OfficialCarScheduleMapFragment;
import com.yxhl.zoume.core.officialcar.fragment.RentHourlyOfficialCarFragment;
import com.yxhl.zoume.core.officialcar.fragment.SingleWayOfficialCarFragment;
import com.yxhl.zoume.di.component.base.ActivityComponent;
import com.yxhl.zoume.di.component.base.AppComponent;
import com.yxhl.zoume.di.module.ActivityModule;
import com.yxhl.zoume.di.module.car.OfficialCarModule;
import com.yxhl.zoume.di.scope.PerActivity;

import dagger.Component;

/**
 * Created by sugarya on 16/8/16.
 */

@PerActivity
@Component(dependencies = AppComponent.class, modules = {OfficialCarModule.class, ActivityModule.class})
public interface OfficialCarComponent extends ActivityComponent {

    void inject(CarSelectPassengerFragment fragment);

    void inject(CallCarForOthersFragment fragment);

    void inject(SingleWayOfficialCarFragment fragment);

    void inject(RentHourlyOfficialCarFragment fragment);

    void inject(CancelCarOrderFeedbackFragment fragment);

    void inject(OfficialCarScheduleMapFragment fragment);

    void inject(OfficialCarScheduleActivity activity);

    void inject(SelectCityFragment fragment);


    /**
     * 专车选择出发地,到达地
     *
     * @param fragment
     */
    void inject(OfficialCarLocationMapFragment fragment);

    /**
     * 专车搜索页面
     *
     * @param fragment
     */
    void inject(OfficialCarPOISearchFragment fragment);
}
